// Generated from G:/code/cursor/dsl-demo/src/main/antlr4/com/example/mapdsl/MapDSL.g4 by ANTLR 4.13.2
package com.example.mapdsl.dsl;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link MapDSLParser}.
 */
public interface MapDSLListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#program}.
	 * @param ctx the parse tree
	 */
	void enterProgram(MapDSLParser.ProgramContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#program}.
	 * @param ctx the parse tree
	 */
	void exitProgram(MapDSLParser.ProgramContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterStatement(MapDSLParser.StatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitStatement(MapDSLParser.StatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#variableDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclaration(MapDSLParser.VariableDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#variableDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclaration(MapDSLParser.VariableDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#ifStatement}.
	 * @param ctx the parse tree
	 */
	void enterIfStatement(MapDSLParser.IfStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#ifStatement}.
	 * @param ctx the parse tree
	 */
	void exitIfStatement(MapDSLParser.IfStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(MapDSLParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(MapDSLParser.BlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#expressionStatement}.
	 * @param ctx the parse tree
	 */
	void enterExpressionStatement(MapDSLParser.ExpressionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#expressionStatement}.
	 * @param ctx the parse tree
	 */
	void exitExpressionStatement(MapDSLParser.ExpressionStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code regexFindAllExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterRegexFindAllExpr(MapDSLParser.RegexFindAllExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code regexFindAllExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitRegexFindAllExpr(MapDSLParser.RegexFindAllExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code regexMatchExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterRegexMatchExpr(MapDSLParser.RegexMatchExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code regexMatchExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitRegexMatchExpr(MapDSLParser.RegexMatchExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code orExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterOrExpr(MapDSLParser.OrExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code orExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitOrExpr(MapDSLParser.OrExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code additiveExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterAdditiveExpr(MapDSLParser.AdditiveExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code additiveExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitAdditiveExpr(MapDSLParser.AdditiveExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code relationalExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterRelationalExpr(MapDSLParser.RelationalExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code relationalExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitRelationalExpr(MapDSLParser.RelationalExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code methodCallExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterMethodCallExpr(MapDSLParser.MethodCallExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code methodCallExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitMethodCallExpr(MapDSLParser.MethodCallExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code notExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterNotExpr(MapDSLParser.NotExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code notExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitNotExpr(MapDSLParser.NotExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code arrayAccessExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterArrayAccessExpr(MapDSLParser.ArrayAccessExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code arrayAccessExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitArrayAccessExpr(MapDSLParser.ArrayAccessExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code primaryExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterPrimaryExpr(MapDSLParser.PrimaryExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code primaryExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitPrimaryExpr(MapDSLParser.PrimaryExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code arraySizeExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterArraySizeExpr(MapDSLParser.ArraySizeExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code arraySizeExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitArraySizeExpr(MapDSLParser.ArraySizeExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code regexReplaceExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterRegexReplaceExpr(MapDSLParser.RegexReplaceExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code regexReplaceExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitRegexReplaceExpr(MapDSLParser.RegexReplaceExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code multiplicativeExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterMultiplicativeExpr(MapDSLParser.MultiplicativeExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code multiplicativeExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitMultiplicativeExpr(MapDSLParser.MultiplicativeExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code equalityExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterEqualityExpr(MapDSLParser.EqualityExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code equalityExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitEqualityExpr(MapDSLParser.EqualityExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code andExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterAndExpr(MapDSLParser.AndExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code andExpr}
	 * labeled alternative in {@link MapDSLParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitAndExpr(MapDSLParser.AndExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link MapDSLParser#primary}.
	 * @param ctx the parse tree
	 */
	void enterPrimary(MapDSLParser.PrimaryContext ctx);
	/**
	 * Exit a parse tree produced by {@link MapDSLParser#primary}.
	 * @param ctx the parse tree
	 */
	void exitPrimary(MapDSLParser.PrimaryContext ctx);
}